package cube.io.file;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

import cube.utils.BaseUtil;

/**
 * 文件写入工具
 * 
 * @author abiao
 */
public class FileWriter {

    /**
     * 文件名
     */
    private String fileName;

    /**
     * 文件写入流
     */
    private FileOutputStream fos;

    /**
     * 文件写入工具
     */
    public FileWriter(String fileName) {
        this.fileName = fileName;
        this.init();
    }

    /**
     * 初始化写入流
     */
    private void init() {
        try {
            fos = new FileOutputStream(fileName);
        } catch (FileNotFoundException e) {
            BaseUtil.log.error("文件写入错误！");
        }
    }

    /**
     * 向文件写入数据
     */
    public void write(byte[] data) {
        try {
            fos.write(data);
            fos.flush();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    /**
     * 向文件写入数据
     */
    public void write(String s) {
        write(s.getBytes());
    }

    /**
     * 关闭文件写操作
     */
    public void close() {
        try {
            fos.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
